/**
 * Created by Administrator on 2017/2/20.
 */
//引入数据库
var  mongo = require('./db');
function User(user){
    this.name = user.name;
    this.password = user.password;
    this.email = user.email;
}
//暴露出user对象
module.exports = User;
//给user添加方法
//保存用户信息的方法
User.prototype.save = function(callback){
     var user = {
         name:this.name,
         password:this.password,
         email:this.email,
         sign:[],
         introduce:[],
         pictureurl:[],
     };
    //打开数据库
    mongo.open(function (err,db) {
        if(err){
            return callback(err);
        }
        //读取users集合
        db.collection('users',function (err,collection) {
            if(err){
                mongo.close();
                return callback(err);
            }
            //没有错误，则将user对象插入集合
            collection.insert(user,{safe:true},function (err,user) {
                mongo.close();
                if(err){
                    return callback(err);
                }
                return callback(user[0]);  //成功的话返回用户名
            })
        })
    })
};

//查询用户信息
User.get=function (username,callback) {
    mongo.open(function (err,db) {
        if(err){
            return callback(err);
        }
        db.collection('users',function (err,collection) {
            if(err){
                mongo.close();
                return callback(err);
            }
            collection.findOne({name:username},function (err,user) {
                mongo.close();
                if(err){
                    return callback(err);
                }
                callback(null,user);
            })
        })
    })
};


User.edit=function (name,callback) {
    mongo.open(function (err,db) {
        if(err){
            return callback(err);
        }
        db.collection('users',function (err,collection) {
            if(err){
                mongo.close();
                return callback(err);
            }
            collection.findOne({
                "name":name,
            },function (err,user) {
                mongo.close();
                if(err){
                    return callback(err);
                }
                callback(null,user);
            })
        })
    })
}

User.update=function (name,sign,introduce,callback) {
    mongo.open(function (err,db) {
        if(err){
            return callback(err);
        }
        db.collection('users',function (err,collection) {
            if(err){
                mongo.close();
                return callback(err);
            }
            collection.update({
                "name":name,
            },{$set:{
                sign:sign,
                introduce:introduce,
            }},function (err) {
                mongo.close();
                if(err){
                    return callback(err);
                }
                callback(null);
            })
        })
    })
}

// 上传头像
User.updatePhoto=function (name,pictureurl,callback) {
    mongo.open(function (err,db) {
        if(err){
            return callback(err);
        }
        db.collection('users',function (err,collection) {
            if(err){
                mongo.close();
                return callback(err);
            }
            collection.update({
                "name":name,
            },{$set:{
                pictureurl:pictureurl,
            }},function (err) {
                mongo.close();
                if(err){
                    return callback(err);
                }
                callback(null);
            })
        })
    })
}




